﻿package game.interfaces 
{
	import flash.events.EventDispatcher;
	import game.events.EventData;
	import game.exchangeddata.HashTable;
	import game.exchangeddata.UserInfo;
	import game.exchangeddata.TableInfo;
	/**
	 * ...
	 * @author Doan Nguyen Thuy Nha Truc (Bamboo)
	 * @author Nguyen Thi Bich Phuong (Daisy)
	 */
	public interface IGameView 
	{
		function updateGameHis(info:*):void;
		function updateGameCard(cardPos:String, cardCode:String):void;
		function updateTableInfo(tableInfo:TableInfo):void;
		function updateDateClock(tableInfo:TableInfo):void;
		function updateTableMinMax(minBet:Number, maxBet:Number):void;
		function updateLiveBetPoolGame(liveBetPoolGame:*):void;
		function updateLiveBetPoolUserPublic(liveBetPoolUser:*):void;
		function updateLiveBetPoolUserPrivate():void;
		function updateGameHisPlayerBanker(playerBankerInfo:*, type:String, sLoop:String):void;
		function updateGameHisAsk(sLoop:String):void;
		function activeGameRule(nameTxt:String):void;
		function activeHotLine():void;
		function updateVideoPath(flvSource:String):void;
		function updateChipBetting(minBet:Number, maxBet:Number, currentBalance:Number, initChipValueArr:Array):void;				
		function countDownBetting(currentBettingTime:int):void;
		function showReport():void;
		function updateDateReport(dateFrom:String, dateTo:String):void;
		function sendDateReportInfo(position:int):String;
		function updateReport(info:Object):void;
		function updateValueBetStatus(info:Object):void;
		function showBetStatus():void;
		function initStopGame():void;
		function initStartGame(countDownSecond:int):void;
		function confirmBetting():String;
		function clearBetting(e:EventData):void;	
		function rebetBetting(e:EventData):void;
		function saveBettingSuccess():void;		
		function updateBetting():void;
		function updateCurrUserBet(obj:Object):void;
        function updateWelcomeMessage(strMsg:String):void;
		function showWinLose(result:String):void; 
		function unLockAsk():void;
		function lockAsk():void;
		function updatePosActiveRoom(tableNo:String);
		function checkActiveRoom():Boolean;
		function initGame():void;
		function updateGameTxt(hashTableInfo:HashTable):void;
		function updateBalance(balance:Number):void;
		function rightBetting():void;
		function setChipActive(chipName:String):void;
		function setChipNavPos(chipPos:int):void;
		function showBetSuccess(isShow:Boolean, isBet:Boolean):void ;
		function stopVideo():void; 
		function updateTablesClose(listRoom:Array):void;
		function initListChannel(data:Array, initListChannel:String):void; 
		function updateUserName(info:String):void;
		function initCurrency(currency:String):void;
		function initAccountInfo(info:Object):void;
		function showBetIns(betIns:String, betRate:String):void;
		function startIns(coundDownSecond:int, betIns:String):void;	
		
		function setBacBetControlStatus(flag:Boolean):void;
		function setFutureRoute(result:String, type:String):void;
		//function initCurrency(currency:String):void;
		//function updateCard(e:EventData):void;
		//function updateHistory(e:EventData):void;
		/*function updateGameInit(info:GameInitInfo, userInfo:UserInfo):void;
		function updateGameStage(info:Object):void;
		// play game --------------------------------------------------
		function newGame(info:Object):void;
		function sendBet():void;
		function updateBetConfirm(info:Object):void;
		function updateGameResult(info:Object):void;		
		function setNewBalance(balance:Number):void;*/
	}
}